using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
using System.Data;
using System.Data.Common;
using System.ComponentModel;

namespace Tilver.DBConnectionUI.SQLite
{

    internal class SQLiteStringBuilder : Tilver.DBConnectionUI.UDLStringBuilder
    {
        public SQLiteStringBuilder()
        {
            PageSize = 1020;
            CacheSize = 2000;
            DateTimeFormat = "ISO8601";
            Synchronous = "Normal";
            Version = 3;
            Enlist = true;
        }

        #region Properties

        [DisplayName("Data Source"), Category("Connection")]
        public string DataSource { get; set; }

        [Category("Security"), PasswordPropertyText(true)]
        public string Password { get; set; }

        [DisplayName("Page Size"), DefaultValue(1020), Category("Advanced")]
        public int PageSize { get; set; }

        [DisplayName("Cache Size"), DefaultValue(2000), Category("Advanced")]
        public int CacheSize { get; set; }

        [DefaultValue("ISO8601"), Category("Advanced")]
        public string DateTimeFormat { get; set; }

        [DefaultValue("Normal"), Category("Advanced")]
        public string Synchronous { get; set; }

        [DefaultValue(false), Category("Advanced")]
        public bool UseUTF16Encoding { get; set; }

        [DisplayName("Automatic Enlistment"), DefaultValue(true), Category("Advanced")]
        public bool Enlist { get; set; }

        [DefaultValue(3), Category("Advanced")]
        public int Version { get; set; }

        #endregion

    }

}
